<#include "/@inc/funcMacros.ftl">
<#assign className = TriaGram + "E" + Prefix + LateType>
<#assign baseName = TriaGram + Prefix + LateType>
<#assign intfName = TriaGram + "I" + Prefix + LateType>
<#include "/@inc/copyright.txt">
<@pp.renameOutputFile name=className+"Build.h">
</@pp.renameOutputFile>
#ifndef __${className}BUILD_H
#define __${className}BUILD_H
<#include "/@inc/copyright.txt">

#include "CATBaseUnknown.h"

class CATTopData ;

/**
 * Class which extends the ${LateType} component.
 * <br>
 * to redefine the <tt>Build()</tt> service of the CATIBuild interface.
 * @see ObjectModelerBase.CATIBuild
 */
class ${className}Build: public CATBaseUnknown
{
  CATDeclareClass;

  public:
  //-------------------------------------------------------------------------
  ${className}Build();
  virtual ~${className}Build();

  /**
   * <p>
   * Overwrites the default implementation of 
   * @see ObjectModelerBase.CATIBuild#Build() 
   * Refresh the Line's Representation
   */
  HRESULT Build();
  
  private :
  
  HRESULT DeactivateOutput () ;
  
  
  HRESULT Preprocess () ;
  
  HRESULT CreateProcReport( CATTopData & TopData ) ;  
  
  HRESULT CreateResult( CATTopData & TopData ) ;  
};
#endif
